package com.gateway.router.base.handler;

import com.gateway.common.dto.route.PredicateData;

/**
 * @program: api-gateway
 * @description:
 * @author: YuKai Fan
 * @create: 2025/2/5 15:20
 **/
public interface RoutePredicateDataHandler {
    /**
     * Handle routeFilterData.
     *
     * @param predicateData the route predicate data
     */
    default void handle(PredicateData predicateData) {

    }

    /**
     * Remove routeData.
     *
     * @param predicateData the route data
     */
    default void remove(PredicateData predicateData) {

    }

    /**
     * Refresh.
     */
    default void refresh() {
    }

    /**
     * predicate name string.
     *
     * @return the predicate name string
     */
    String predicateName();
}
